﻿using System;
using System.Collections.Generic;
using MammothMicro.SMTPGuard.Common;

namespace MammothMicro.SmtpGuardFilter.Common
{
    /// <summary>
    /// Null mail store 
    /// </summary>
    public class NullMailStore    :IMailStore
    {
        #region Implementation of IMailStore

        /// <summary>
        /// Save email to repository
        /// </summary>
        /// <param name="message"></param>
        public void Save(SerializableMailMessage message)
        {
            
        }

        /// <summary>
        /// Get 1 email from the repository
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public SerializableMailMessage Get(Guid id)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Get list f messages for single recipient
        /// </summary>
        /// <param name="recipient"></param>
        /// <returns></returns>
        public List<SerializableMailMessage> Get(string recipient)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Get list of messages for one recipient
        /// </summary>
        /// <param name="recipient"></param>
        /// <param name="lastDays"></param>
        /// <returns></returns>
        public List<SerializableMailMessage> Get(string recipient, int lastDays)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Delete 1 email
        /// </summary>
        /// <param name="id"></param>
        public void Delete(Guid id)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Delete all emails from recipient
        /// </summary>
        /// <param name="recipient"></param>
        public void Delete(string recipient)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Deletes emails for 1 user older than number of days
        /// </summary>
        /// <param name="recipient"></param>
        /// <param name="olderThanDays"></param>
        public void Delete(string recipient, int olderThanDays)
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}


